#pragma once

#ifndef DATABASE_H
#define DATABASE_H

#include "files/file.h"
#include "patterns/singleton.h"

namespace Tvimeg
{
	class Connection;

	class Database : public Singleton<Database>
	{
	public:
		void		Initialise(void);

		Connection&	GetConnection(void) const;

	private:
		Database(void);
		Database(const Database&);
		~Database(void);

		friend class Singleton<Database>;

		void		CreateDatabase(Connection& connection);

		File		databaseFile;

		Connection*	connection;
	};
}

#endif // DATABASE_H
